3.3 初始化
对复合类型(数组、切片、字典、结构体)变量初始化时,有一些语法限制。
- 初始化表达式必须含类型标签。
- 左花括号必须在类型尾部,不能另起一行。
- 多个成员初始值以逗号分隔。
- 允许多行,但每行须以逗号或右花括号结束。
正确示例:
type data struct{
x int
s string
}
var a data=data{1, "abc"}
b:=data{
1,
"abc",
}
c:= []int{
1,
2}
d:= []int{1,2,
3,4,
5,
}错误示例:
var d data= {1, "abc"} // 语法错误:unexpected{ (缺类型标签)
d:=data
{ // 语法错误:unexpected semicolon or newline(左花括号不能另起一行)
1,
"abc"
}
d:=data{
1,
"abc" // 语法错误:need trailing comma before newline(须以逗号或右花括号结束)
}